Networks are getting larger to handle communications between more and more devices, referred to as source nodes and destination nodes. Networks need to be designed and managed to handle a commensurate increase in traffic. Software defined networks involve the use of software running on a centralized controller to view network traffic and make network control programmable at a high level, the control plane, by decoupling network control from traffic forwarding functions of the data plane.
The control plane may include a routing table or similar data structure that defines what to do with incoming traffic, which may be in the form of packets of data. Control plane functions may also include routing protocols to use, defining packet priorities and discarding selected packets among other higher level functions. The data plane, also known as the forwarding plane, defines what to do with a packet received at an inbound interface of a router, such as looking up a destination address and sending the packet to a corresponding outbound interface.
Current network management considers light tail traffic in managing traffic at the control plane level. Light tail (LT) traffic is characterized by end to end (E2E) transfers of smaller files, most of which may involve a small number of packets to transfer. Typical examples are text messaging and emails with or without small attachments. LT traffic may be contrasted with heavy tail (HT) traffic, which involves large files, such as video files or video streaming, which requires a significant number of packets to effect the transfer, and can also result in global congestion and large delays in traffic deliver from a source nodes to a destination nodes of the network.
LT traffic is controlled by adjusting delay based on queue length in switches or by packet delays at the head of the line (HoL) of a queue with a first order convergence rate. Such control can be fairly loss free for purely LT traffic, and result in some E2E delay for hybrid traffic that includes both LT and HT traffic. Signaling overhead includes exchange of queue length information between switches in the network. Further prior attempts to control congestion may be heuristic or measurement-based designs that employ rate or window size assignments for simple admission control.